import App from './App'

// #ifndef VUE3
import Vue from 'vue'

import './uni.promisify.adaptor'
Vue.config.productionTip = false
App.mpType = 'app'

import {
	$http
} from '@escook/request-miniprogram'
uni.$http = $http

$http.beforeRequest = function(config) {
	let userInfo = uni.getStorageSync('mini-userinfo')
	if (userInfo) {
		config.header["ft-auth"] = 'bearer ' + userInfo.access_token
		config.header.authorization = userInfo.authorization
	}
	//配置发起网络请求前的拦截功能
	// uni.showLoading({
	//     title: '加载中...'
	// }) 
}
$http.afterRequest = function(res) {
	//配置网络请求完毕后的拦截功能
	// uni.hideLoading()
	// console.log(res, '响应拦截');
	// if (res.statusCode === 404) {//
	// 	uni.navigateTo({
	// 		url: '/pages/index/index'
	// 	})
	// 	return
	// }
	const status = res.data.code || res.status
	if (status === 506 || status === 507) {
		// uni.navigateTo({
		// 	url: '/pages/index/index'
		// })
	}
	if (res.statusCode !== 200) {
		console.log('数据加载失败！')
		uni.showToast({
			title: res.data.msg,
			duration: 1500,
			icon: 'none'
		})
	}
}

// #ifdef H5
import VConsole from 'vconsole' //引入日志
//使用日志
const vConsole = new VConsole()
Vue.use(vConsole)
// #endif
if (process.env.NODE_ENV !== 'production') {//上线后去除log
	console.log('开发环境不去除log')
}else{
	console.log = () => {}
}

const app = new Vue({
  ...App
})
app.$mount()
// #endif

// #ifdef VUE3
import { createSSRApp } from 'vue'
export function createApp() {
  const app = createSSRApp(App)
  return {
    app
  }
}
// #endif